The present invention relates to an apparatus and method for displaying an image and in particular for displaying a zoomed version of a stored image.
Electronic displays commonly provide for zooming in and out of a stored image in order to enable a user to see more clearly details of the image or to obtain an overview of the image. An image for display on an electronic display is commonly stored in an electronic memory by way of a matrix of data entries which are mapped on a 1:1 basis with pixels of the display. In order to zoom in on the image, i.e. to make the image or portions of the image larger on the display, each data entry is xe2x80x98expandedxe2x80x99 to cover two or more pixels. However, in order to avoid distortion of the image, each data entry must be expanded to cover a square block of pixels. It is therefore only possible to zoom in on the image by a factor of 2, 3, 4 etc. This is inconvenient, for example, where it is desired to expand text so as to allow it to be more easily read but where expansion by a factor of two or more will result in the edges of the text extending beyond the edges of the display. The user must xe2x80x98roamxe2x80x99 around the image, displaying only bits of it at a time, in order to read the entire text. A problem also arises where an image is too large to be displayed on a display and stored data entries have to be mapped to xe2x80x98partialxe2x80x99 pixels. Solutions proposed to overcome these problems include creating new type fonts in the case of zooming in, and merely dropping pixels in the case of zooming out.
One application where these problems arise is in mobile communication devices which have only a small display and the capability to receive facsimile transmissions.
It is an object of the present invention to overcome or at least mitigate the disadvantages of conventional zooming methods. In particular, it is an object of the present invention to provide an apparatus and method capable of substantially stepless zooming.
According to first aspect of the present invention there is provided a method of displaying a zoomed version of stored image on a display, where the stored image is defined by a set of data entries mapped to respective pixels of the display, the method comprising the steps of:
(1) scaling the stored image relative to the display in accordance with a desired zooming ratio;
(2) locating the scaled image at an initial position relative to the display;
(3) determining the extent to which each display pixel is overlapped by features of the scaled image, and assigning to each display pixel a corresponding colour tone;
(4) shifting the scaled image relative to said initial position one or more times and, for the or each shift, repeating step (3); and
(5) cyclically displaying each of the sets of assigned colour tones in turn for as long as the zoomed version is to be displayed.
It will be understood that the terms xe2x80x98zoomedxe2x80x99 and xe2x80x98zoomingxe2x80x99 used in relation to the present invention relate both to the enlargement and reduction of images.
Preferably, step (5) comprises shifting the scaled image in two orthogonal directions (x,y), where the maximum shift from said initial position in the x and the y direction is less than the width of one display pixel (L). Preferably, where a zooming factor of is p/s is applied to scale the image in step (1), and p and s are both integers and s is the lowest common denominator, each shift produced by step (5) translates the scaled image by a multiple of L/s in one or both of the x and y directions. More preferably, the maximum shift is Lxe2x88x92L/s which results in each edge feature of the scaled image being sharp in at least one of the initial position and the shifted positions. In this way, it is possible to achieve stepless zooming in which only integers and fixed point calculations are used. The method may be implemented directly in machine code language to achieve sufficient speed for real time zooming.
Preferably, the step of assigning a colour tone to a display pixel comprises mapping the fractional coverage of the display pixel, by features of the scaled image, to a linear range of colour tones. For a monochrome display, said linear range comprises grey-level tones. For a colour display, where the stored image comprises a set of data entries for each of a plurality of colours (e.g. red, green and blue), the method of the above first aspect may be carried out separately for each set of image pixels.
Where the data entries of the stored image correspond themselves to colour tones, step (3) may additionally comprise for each display pixel determining a function of both the fractional overlap and the tone(s) of the overlap, said assignment being made on the basis of the determined function.
Preferably, the time interval between the display of successive sets of assigned colour tones is between {fraction (1/20)}th of a second and 1 second.
According to a second aspect of the present invention there is provided apparatus for displaying a zoomed version of a stored image, the apparatus comprising a display having a matrix of display pixels, a memory for storing an image as a set of data entries mapped to said display pixels, and processing means arranged to:
scale the stored image relative to the display in accordance with a desired zooming ratio;
locate the scaled image at a first position relative to the display;
determine the extent to which each display pixel is overlapped by the scaled image and to assign to each display pixel a corresponding colour tone;
shift the scaled image relative to the display one or more times and repeat the steps of determining and displaying for each shift; and
cyclically display each of the sets of assigned colour tones in turn for as long as the zoomed version is to be displayed.
In one embodiment of the present invention, the apparatus is a combined mobile telephone and personal digital assistant. The display may be a liquid crystal display.